1. Field of the Invention
This invention generally relates to computer systems, and more particularly, to switches that link peripheral components to the processors of computer systems. Even more specifically, the invention relates to an automatic failover for such switches.
2. Background Art
Today's computing platforms and processing systems are moving toward an I/O interconnect topology that provides a single communication path between each peripheral device and the host. These computing platforms and processing systems may use packetized communications for communicating between the switching elements within the tree structure. Examples of such computing platforms and processing systems include what is referred to as, for example, peripheral component interconnect (PCI) systems and PCI Express systems. Peripheral devices are discovered by such platforms and systems through an enumeration process performed by a host system element.
A PCI Express compatible switch with multiple ports appears to PCI compatible enumeration and configuration software as a two level hierarchy of PCI-to-PCI bridges. Each switch port appears to the configuration software as a distinct PCI-to-PCI bridge. Each port can support up to eight sub-functions, each sub-function potentially introducing a linked list of supported capabilities. Among the ports, there is an upstream port. The upstream port, which appears to software as a PCI-to-PCI bridge, is the only port through which PCI compatible software can read and/or write the internal configuration registers of the switch. All other ports of the switch, referred to as downstream ports, appear as distinct PCI-to-PCI bridges to the configuration software. As a result, a two-level hierarchy of PCI-to-PCI bridges is formed.
PCI-Express is becoming the standard I/O expansion network. However, its tree structure lacks the ability to have a secondary path for purposes of automatic failover. Multiple paths between hosts and I/O Adapters are required for automatic failover, and new capabilities are needed to be added to PCIe Root Complexes, Switches, and optionally, I/O Adapters to support automatic failover.